#ifndef _GUIDELAYER_H_
#define _GUIDELAYER_H_
#include <SECore/Layer.h>
#include <SEngine/Project/Project.h>

namespace SEngine
{
    class GuideLayer : public Layer
    {
    public: 
        GuideLayer(CoreApplication & app) : Layer(app) {}
        virtual ~GuideLayer() = default;
        virtual std::string Name() override { return "GuideLayer"; };

        
        void Attach() override;
        void Detach() override {}
        void BeginFrame() override {}
        void EndFrame() override {}
        void Update(int delta) override;
        void OnEvent(EventPtr) override {}

    private:
        void Go();
        void Enter(Project & prj);
        void OpenProject();
        void NewProject();

        void InitLayers(CoreApplication & app);


    private:
        ProjectOption m_opt;

        float m_loadProgressTotal{0.0f};
        float m_loadProgress{0.0f};
        std::string m_loadFileName;
        bool m_showProgressBar{false};
    };
} // namespace SEngine


#endif